import { createStore } from 'vuex'
import care from './modules/care'
import user from './modules/user'
import category from './modules/category'// 10.4导入封装好的接口模块
import createPersistedstate from 'vuex-persistedstate'// 2.1 装好的包里面导入方法
// import * as Cookies from 'js-cookie'// 让vue持久化存到cookie要先安装包

export default createStore({
  strict: true, // 开启严格模式
  // 数据
  state: {
  },
  // 修改数据的方法
  mutations: {
  },
  // 异步操作
  actions: {
  },
  // 模块化
  modules: {
    care,
    user,
    category// 10.4导入封装好的接口模块
  },
  plugins: [
    // 2.2导入执行来的方法,以及传两个参数
    createPersistedstate({
      // storage: window.sessionStorage, // sessionStoragej方式
      // localStorage方式，储存空间大
      key: 'erabbit-client-pc-store', // 本地存取
      paths: ['user', 'care'] // 那个模块进行持久化操作
      // 使用cookie的情况百度粘贴解答
      // 存取localStorage/cookie/sessionStoragej只要提供一个对象，对象中有存get/取set/删remove
      // 都会以这个为主，存取方法做自动操作，不走默认
      // localStorage/cookie/sessionStoragej接口方式都是一样的
      // cookie方式，储存空间小
      // stor: {
      //   getItem: key => Cookies.get(key),
      //   setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),
      //   removeItem: key => Cookies.remove(key)
      // }

    })
  ]
})
